#ifndef _HTTPSERVERREQUEST_HPP_
#define _HTTPSERVERREQUEST_HPP_

#include "jhdefs.hpp"
#include "net/HTTPRequest.hpp"
#include "net/SocketAddress.hpp"

NET_NAMESPACE_BEGIN


class CHTTPServerResponse;
class CHTTPServerParams;

class CHTTPServerRequest : public CHTTPRequest
{
public:
	CHTTPServerRequest();
	~CHTTPServerRequest();

	virtual std::istream& stream() = 0;
	virtual bool expectContinue() const = 0;
	virtual const CSocketAddress& clientAddress() const = 0;
	virtual const CSocketAddress& serverAddress() const = 0;

	virtual const CHTTPServerParams& serverParams() const = 0;
	virtual CHTTPServerResponse& response() const = 0;

};

NET_NAMESPACE_END

#endif
